package net.wangy.basiccode1.jihe.map;

import java.util.HashMap;
import java.util.Scanner;

/**
 * 计算一个字符串中每个字符出现次数。
 * 分析：
 * 1. 获取一个字符串对象
 * 2. 创建一个Map集合，键代表字符，值代表次数。
 * 3. 遍历字符串得到每个字符。
 * 4. 判断Map中是否有该键。
 * 5. 如果没有，第一次出现，存储次数为1；如果有，则说明已经出现过，获取到对应的值进行++，再次存储。
 * 6. 打印最终结果
 */
public class MapExercise {
    public static void main(String[] args) {
        //友情提示
        System.out.println("请录入一个字符串:");
        String line = new Scanner(System.in).nextLine();
        findChar(line);
    }
    public static void findChar(String line){
        //定义一个hasmap存放字符-次数对象
        HashMap<Character,Integer> map=new HashMap<>();
        //遍历字符串，统计每个字符出现次数
        for (int i = 0; i < line.length(); i++) {
            char charAt = line.charAt(i);
            if (!map.containsKey(charAt)){
                map.put(charAt,1);
            }else {
                map.put(charAt,map.get(charAt)+1);
            }
        }
        System.out.println(map);
    }
}
